The present disclosure relates to an encoding apparatus, encoding method and program, and more specifically to an encoding apparatus, encoding method and program that can quickly return a block with a high degree of importance of a decoded image in the case where an error occurs.
AVC (Advanced Video Coding), HEVC (High Efficiency Video Coding) and the like are encoding systems of an image. Intra-encoding or inter-encoding are encoding methods of such encoding systems. Intra-encoding is encoding performed using pixels within the same screen, and an encoded amount of intra-encoding is generally increased. On the other hand, inter-encoding is encoding performed between screens using pixels of adjacent screens, and the encoded amount of inter-encoding is less than that of intra-encoding.
The encoding apparatus selects an encoding method in a frame unit or macro block unit, based on a cost function value when an image is encoded by each of the encoding methods. Information showing the selected encoding method is included in a bit stream along with the encoded image as a frame type (picture type) or a macro block type.
On the other hand, an encoding apparatus, such as a wall mounting type television receiver, wirelessly transmits a bit stream of an HD (High Definition) video of a television broadcast from a position separated from a display device.
A wireless LAN (Local Area Network), a UWB (Ultra Wide Band) or the like in accordance with standards, such as millimeter waves using a 60 GHz bandwidth or IEEE (Institute of Electrical and Electronic Engineers) 802.11n using a 5 GHz bandwidth, are wireless transmission systems of an HD video. Transmission systems of a 5 GHz bandwidth are widespread in the market, and attention has been drawn to wireless LAN in accordance with IEEE802.11n standards, which have a merit of cost, as a wireless transmission system of an HD video. In the case where a wireless LAN in accordance with IEEE802.11n standards is adopted, while a main flow of 100 Mpbs or less is a transmission rate, an HD video is transmitted by compression encoding so that a bit rate of the HD video is several Gbps in a state of non-compression.
Further, while not limited to an HD video, there are encoding apparatuses which transmit SD (Standard Definition) video and a bit stream of small-sized video from the SD video. A high speed server or the like is such an encoding apparatus, which is arranged in a remote place, and which delivers a screen of an application (an application for a game or the like) to a client so as to enable operation of the application during operation by the client. The client provides feedback of the operation contents for the client to the server in a short time interval.
In the case where a bit stream, such as that mentioned above, is transmitted from an encoding apparatus through a transmission route, packet loss may occur on the transmission route, and a reception error may occur at the receiving side. In the case where encoding is performed in a frame unit, and when a reception error occurs in a frame, normal image data of this frame may not be able to be obtained at the receiving side. Therefore, as long as the encoding method of subsequent frames is inter-encoding, normal image data may not be able to be decoded. In the case where encoding is performed not in a frame unit but in a slice unit, while the generation unit of a reception error is a slice unit, in a manner similar to the case where encoding is performed in a frame unit, as long as the encoding method of slices of subsequent frames where the reception error occurs is inter-encoding, normal image data may not be able to be decoded.
Here, normal image data is quickly decoded in the case where a reception error occurs, and a method, which intra-encodes an encoding method of a prescribed slice or macro block of each screen, is a method which returns to a normal screen (for example, refer to JP 2011-35444A).